This directory contains various pre-built libraries for ease-of-compilation elsewhere. The source for libjpeg.a and libui.a is included in the jpeg and libui directories of the haeberli tree, libtiff will exist in the public subtree, but the source for librle.a, libtri.a, and libvor.a is not able to be included.
A compressed subdirectory is included of each library in compressed tar format. This is so that people accessing things from the haeberli/index.html file can, if they choose, simply grab a "web-transferable" pre-compiled version of any library they may simply want to have locally without having to grab the source as well to re-compile on their side.
libcan.a --
You can directly download a compressed tar image of libcan.a.tar.Z.
libgutil.a --
You can directly download a compressed tar image of libgutil.a.tar.Z.
libimage.a --
NOTE: there is a new image processing library called libil.a. This Image Library (IL) is a bonafide software product with completely documented and supported features. Its default image file format is tiff, but it also understands everything about IRIS image file format. This C++ library is an object-oriented, extensible toolkit for creating, processing and displaying images on all SGI platforms. With the release of this IL, the singular reliance on libimage's core capabilities is being superceded by a library supplying a superset of functionality available from libimage. It is important for all developers and programmers to understand the reality of libil.a's existence.
You can directly download a compressed tar image of libimage.a.tar.Z.
libjpeg.a --
The ../jpeg directory contains the fourth public release of the Independent JPEG Group's free JPEG file format image compression/decompression software including images of libjpeg.a, cjpeg, and djpeg. Support has been added to manipulate SGI image files to/from jpeg format. See the README.sgi file in this directory for details on compressing SGI image files to jpeg format and then decompressing them back to SGI image format. JPEG is a standardized compression method for fullcolor and gray-scale images. JPEG is intended for compressing "real-world" scenes; cartoons and other non-realistic images are not its strong suit. JPEG is lossy, meaning that the output image is not necessarily identical to the input image. Hence you must not use JPEG if you have to have identical output bits. However, on typical images of real-world scenes, very good compression levels can be obtained with no visible change, and amazingly high compression levels are possible if you can tolerate a low-quality image.
You can directly download a compressed tar image of libjpeg.a.tar.Z.
librle.a --
We used to include the source for librle.a, the library part of the Utah Raster Toolkit, distribution version 3.0 of June, 1990. imgtools/fromutah and imgtools/toutah are image file conversion programs that need this library. However we are no longer able to ensure we always have the latest version included and so, as a tie-you-over, we still are including just the library itself (still only version 3.0) and suggest that you contact the ftp site directly that has and maintains this source. The Utah Raster Toolkit is now distributed from the University of Michigan and the University of Utah.
You can directly download a compressed tar image of librle.a.tar.Z.
libtiff --
This is a pre-compiled version of Sam Leffler's public domain TIFF support software for reading and writing TIFF files. imgtools/{fromtiff,iv,tosgi,totiff} are image file reading and conversion programs needing this library. The library, should handle most of your needs for reading and writing files following the 5.0 TIFF spec for Classes B, G, P, and R. From this point on, the source for libtiff will live in the public subtree rather than here where it has been in the past.
You can directly download a compressed tar image of libtiff.a.tar.Z.
libtri --
This is a library that automatically triangulates complex polygons. It was written by Derrick Burns at Silicon Graphics.
libtri is able to take concave polygons and/or polygons with holes in them and correctly decompose these complex polygons into a series of triangles.
See the program ../tools/tritest.c for an example of how to implement this triangularization of complex polygons. The functions to study inside tritest.c hailing from libtri.a are:
The source to this library is not able to be included in the Toolbox.
You can directly download a compressed tar image of libtri.a.tar.Z.
libui.a --
A simple UI toolkit that makes it easy for you to add sliders and buttons to a gl program with the SGI look and feel. With this package, you can make interactive programs with one half of your brain tied behind your back!
At present, the imgtools/{compexp,enhance,movie,pat}, and styline programs all hook into this library for their GUI front ends.
The source for libui is now included in ../libui, but the pre-compiled lib is still included here for ease-of-compiles.
You can directly download a compressed tar image of libui.a.tar.Z.
libvor.a --
Used by the impression programs, libvor.a--written by the great Seth Teller (no relation to the destructively obsessed Edward T.)--is a voronoi partition/delaunay triangulation library based on Steve Fortune's plane sweep algorithm published in Algorithmica, 1987, "A Sweepline Algorithm for `Voronoi' Diagrams", volume 2, pp. 153-174. An example program can be found in ../vortest with its accompanying copy of vordefs.h to better document the structures defined/accessed in libvor.a.
a brief explanation:
voronoi / dirichlet / wigner-seitz regions are various names that a single mathematical object has come to be given. the object is defined by a set of "sites" in any dimension, as follows: partition space into regions, one per site, so that within each region every point is closer to its associated site than to any other site (at least as close to, on region boundaries).
the "dual" of this object, in any dimension, is the "delaunay triangulation" or tetrahedralization, a triangulation of space with the property that the circumsphere of every triangle has no sites in its interior.
that's all there is to it. both objects are very useful in diverse areas such as finite element modeling, image processing, computational geometry . . .
the package libvor.a uses steve fortune's algorithm to compute the voronoi diagram and delaunay triangulation in two dimensions.
for more background, read the excellent text, Computational Geometry: an Introduction, by Michael Ian Shamos and Franco P. Preparata, Springer-Verlag, 1985.
You can directly download a compressed tar image of libvor.a.tar.Z.